#!/bin/bash
# 股票分析工具安装脚本 (支持中文/自动配置)
set -e

# ===== 配置区 =====
APP_NAME="eagle_eyes"        # 内部标识（必须英文）
DISPLAY_NAME="鹰眼"         # 主显示名称
DISPLAY_NAME_ZH="鹰眼"      # 中文显示名称
EXE_SOURCE="./dist/eagle_eyes"    # 可执行文件路径
ICON_SRC="eagle_eyes.png"    # 图标源文件（建议512x512 PNG）
# ==================

# 检查root权限
if [ "$(id -u)" -ne 0 ]; then
    echo -e "\e[31m错误：请使用sudo运行此脚本或切换到root用户\e[0m"
    exit 1
fi

# 检查文件存在
if [ ! -f "$EXE_SOURCE" ]; then
    echo -e "\e[31m错误：找不到可执行文件 $EXE_SOURCE\e[0m"
    exit 1
fi

if [ ! -f "$ICON_SRC" ]; then
    echo -e "\e[33m警告：找不到图标文件 $ICON_SRC，将生成默认图标\e[0m"
    if ! convert -size 512x512 xc:navy -fill gold -draw 'circle 256,256 256,50' "$ICON_SRC"; then
        echo -e "\e[31m错误：默认图标生成失败\e[0m"
        exit 1
    fi
fi

# 系统路径配置
INSTALL_DIR="/opt/$APP_NAME"
BIN_LINK="/usr/local/bin/$APP_NAME"
DESKTOP_FILE="/usr/share/applications/$APP_NAME.desktop"
ICON_SIZES=(16 32 48 64 128 256 512)  # 图标尺寸标准

# 安装系统依赖
echo -e "\n\e[36m[1/7] 安装运行时依赖...\e[0m"
apt-get install -y --no-install-recommends \
    libxcb-icccm4 \
    libxcb-image0 \
    libxcb-keysyms1 \
    libxcb-render-util0 \
    libxcb-xinerama0 \
    libxcb-xinput0 \
    libxcb-xkb1 \
    imagemagick

# 创建安装目录
echo -e "\n\e[36m[2/7] 创建目录结构...\e[0m"
rm -rf "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR"

# 部署程序文件
echo -e "\n\e[36m[3/7] 安装主程序...\e[0m"
cp -v "$EXE_SOURCE" "$INSTALL_DIR/"
chmod 755 "$INSTALL_DIR/$(basename "$EXE_SOURCE")"
ln -sf "$INSTALL_DIR/$(basename "$EXE_SOURCE")" "$BIN_LINK"

# 生成多尺寸图标
echo -e "\n\e[36m[4/7] 生成系统图标...\e[0m"
for size in "${ICON_SIZES[@]}"; do
    icon_dir="/usr/share/icons/hicolor/${size}x${size}/apps"
    mkdir -p "$icon_dir"
    if ! convert "$ICON_SRC" -resize "${size}x${size}" -background none \
        "$icon_dir/$APP_NAME.png"; then
        echo -e "\e[31m错误：生成 ${size}x${size} 图标失败\e[0m"
        exit 1
    fi
done

# 创建桌面菜单项
echo -e "\n\e[36m[5/7] 创建应用程序菜单项...\e[0m"
cat > "$DESKTOP_FILE" <<EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=$DISPLAY_NAME
Name[zh_CN]=$DISPLAY_NAME_ZH
GenericName=Stock Analysis
GenericName[zh_CN]=股票分析
Comment=Advanced stock market analysis tool
Comment[zh_CN]=基于AkShare的股票数据分析工具
Exec=$BIN_LINK
Icon=$APP_NAME
Terminal=false
Categories=Finance;Office;
Keywords=stock;finance;analysis;
Keywords[zh_CN]=股票;金融;分析;
EOF

# 更新系统数据库
echo -e "\n\e[36m[6/7] 刷新系统配置...\e[0m"
update-desktop-database
gtk-update-icon-cache --force /usr/share/icons/hicolor

# 完成提示
echo -e "\n\e[32m[7/7] 安装成功！\e[0m"
echo -e "可通过以下方式启动程序："
echo -e "1. 应用程序菜单 → \e[34m$DISPLAY_NAME_ZH\e[0m"
echo -e "2. 终端直接执行命令：\e[33m$BIN_LINK\e[0m"
echo -e "3. 输入：\e[33m$APP_NAME\e[0m"

